import type { GeneratedEtsLibFile } from "../../types/generated";

export const FILE: GeneratedEtsLibFile = {
  path: 'ets/api/@ohos.inputMethodEngine.d.ts',
  content: "/*\n * Copyright (c) 2021-2024 Huawei Device Co., Ltd.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @file\n * @kit IMEKit\n */\nimport type { AsyncCallback, Callback } from './@ohos.base';\nimport type { KeyEvent as InputKeyEvent } from './@ohos.multimodalInput.keyEvent';\nimport InputMethodSubtype from './@ohos.InputMethodSubtype';\nimport BaseContext from './application/BaseContext';\nimport window from './@ohos.window';\n/**\n * Input method engine\n *\n * @namespace inputMethodEngine\n * @syscap SystemCapability.MiscServices.InputMethodFramework\n * @since 8\n */\ndeclare namespace inputMethodEngine {\n    /**\n     * When \"enter\" key is pressed, there is no action\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const ENTER_KEY_TYPE_UNSPECIFIED: number;\n    /**\n     * When \"enter\" key is pressed, it means GO\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const ENTER_KEY_TYPE_GO: number;\n    /**\n     * When \"enter\" key is pressed, it means SEARCH\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const ENTER_KEY_TYPE_SEARCH: number;\n    /**\n     * When \"enter\" key is pressed, it means SEND\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const ENTER_KEY_TYPE_SEND: number;\n    /**\n     * When \"enter\" key is pressed, it means NEXT\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const ENTER_KEY_TYPE_NEXT: number;\n    /**\n     * When \"enter\" key is pressed, it means DONE\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const ENTER_KEY_TYPE_DONE: number;\n    /**\n     * When \"enter\" key is pressed, it means PREVIOUS\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const ENTER_KEY_TYPE_PREVIOUS: number;\n    /**\n     * When \"enter\" key is pressed, it means NEWLINE\n     *\n     * @constant\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 12\n     */\n    const ENTER_KEY_TYPE_NEWLINE: 8;\n    /**\n     * Editor with no special function\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const PATTERN_NULL: number;\n    /**\n     * Editor of type TEXT\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const PATTERN_TEXT: number;\n    /**\n     * Editor of type NUMBER\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const PATTERN_NUMBER: number;\n    /**\n     * Editor of type PHONE NUMBER\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const PATTERN_PHONE: number;\n    /**\n     * Editor of type DATETIME\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const PATTERN_DATETIME: number;\n    /**\n     * Editor of type EMAIL\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const PATTERN_EMAIL: number;\n    /**\n     * Editor of type URI\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const PATTERN_URI: number;\n    /**\n     * Editor of type PASSWORD\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const PATTERN_PASSWORD: number;\n    /**\n     * Editor of type SCREEN LOCK PASSWORD\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 11\n     */\n    const PATTERN_PASSWORD_SCREEN_LOCK: number;\n    /**\n     * Editor of type NUMBER PASSWORD\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 11\n     */\n    const PATTERN_PASSWORD_NUMBER: number;\n    /**\n     * Editor of type PATTERN_USER_NAME\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 20\n     */\n    const PATTERN_USER_NAME: number = 10;\n    /**\n     * Editor of type PATTERN_NEW_PASSWORD\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 20\n     */\n    const PATTERN_NEW_PASSWORD: number = 11;\n    /**\n     * Editor of type PATTERN_NUMBER_DECIMAL\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 20\n     */\n    const PATTERN_NUMBER_DECIMAL: number = 12;\n    /**\n     * Editor of type PATTERN_ONE_TIME_CODE\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 20\n     */\n    const PATTERN_ONE_TIME_CODE: number = 13;\n    /**\n     * Editor in SELECTING state\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const FLAG_SELECTING: number;\n    /**\n     * Editor in SINGLE_LINE state\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const FLAG_SINGLE_LINE: number;\n    /**\n     * The Editor displays in PART mode\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const DISPLAY_MODE_PART: number;\n    /**\n     * The Editor displays in FULL mode\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const DISPLAY_MODE_FULL: number;\n    /**\n     * Allows ASCII to be inputted\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const OPTION_ASCII: number;\n    /**\n     * Do not specify Editor's input type\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const OPTION_NONE: number;\n    /**\n     * Allows CHARACTERS to be inputted\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const OPTION_AUTO_CAP_CHARACTERS: number;\n    /**\n     * Allows SENTENCES to be inputted\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const OPTION_AUTO_CAP_SENTENCES: number;\n    /**\n     * Allows WORDS to be inputted\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const OPTION_AUTO_WORDS: number;\n    /**\n     * Allows MULTI_LINE to be inputted\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const OPTION_MULTI_LINE: number;\n    /**\n     * Half-screen mode\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    const OPTION_NO_FULLSCREEN: number;\n    /**\n     * The move direction of cursor: UP\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 9\n     */\n    const CURSOR_UP: number;\n    /**\n     * The move direction of cursor: DOWN\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 9\n     */\n    const CURSOR_DOWN: number;\n    /**\n     * The move direction of cursor: LEFT\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 9\n     */\n    const CURSOR_LEFT: number;\n    /**\n     * The move direction of cursor: RIGHT\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 9\n     */\n    const CURSOR_RIGHT: number;\n    /**\n     * The window styles for input method ability.\n     *\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 9\n     */\n    const WINDOW_TYPE_INPUT_METHOD_FLOAT: number;\n    /**\n     * Get InputMethodAbility object to subscribe events about IME.\n     *\n     * @returns { InputMethodAbility } the object of the InputMethodAbility.\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 9\n     */\n    function getInputMethodAbility(): InputMethodAbility;\n    /**\n     * @returns { InputMethodEngine }\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     * @deprecated since 9\n     * @useinstead inputMethodEngine#getInputMethodAbility\n     */\n    function getInputMethodEngine(): InputMethodEngine;\n    /**\n     * Get KeyboardDelegate object to subscribe key event or events about editor.\n     *\n     * @returns { KeyboardDelegate } the object of KeyboardDelegate.\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 9\n     */\n    function getKeyboardDelegate(): KeyboardDelegate;\n    /**\n     * @returns { KeyboardDelegate }\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     * @deprecated since 9\n     * @useinstead inputMethodEngine#getKeyboardDelegate\n     */\n    function createKeyboardDelegate(): KeyboardDelegate;\n    /**\n     * Indicates the possible data types of the command.\n     * @typedef { number | string | boolean }\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 12\n     */\n    type CommandDataType = number | string | boolean;\n    /**\n     * The callback of 'sizeChange' event.\n     *\n     * @typedef { function } SizeChangeCallback.\n     * @param { window.Size } size - panel size.\n     * @param { KeyboardArea } keyboardArea - keyboard area.\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 15\n     */\n    export type SizeChangeCallback = (size: window.Size, keyboardArea?: KeyboardArea) => void;\n    /**\n     * @interface KeyboardController\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    interface KeyboardController {\n        /**\n         * Hide soft keyboard\n         *\n         * @param { AsyncCallback<void> } callback - indicates the callback function of hide.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        hide(callback: AsyncCallback<void>): void;\n        /**\n         * Hide soft keyboard\n         *\n         * @returns { Promise<void> } the promise returned by the function\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        hide(): Promise<void>;\n        /**\n         * @param { AsyncCallback<void> } callback - indicates the callback function of hideKeyboard.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.KeyboardController#hide\n         */\n        hideKeyboard(callback: AsyncCallback<void>): void;\n        /**\n         * @returns { Promise<void> } the promise returned by the function\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.KeyboardController#hide\n         */\n        hideKeyboard(): Promise<void>;\n        /**\n         * Exit the current input type. This function can only be called by default input method configured by system.\n         *\n         * @param { AsyncCallback<void> } callback - the callback of exitCurrentInputType.\n         * @throws { BusinessError } 12800008 - input method manager service error. Possible cause:\n         *     a system error, such as null pointer, IPC exception.\n         * @throws { BusinessError } 12800010 - not the preconfigured default input method.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 11\n         */\n        exitCurrentInputType(callback: AsyncCallback<void>): void;\n        /**\n         * Exit the current input type. This function can only be called by default input method configured by system.\n         *\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 12800008 - input method manager service error. Possible cause:\n         *     a system error, such as null pointer, IPC exception.\n         * @throws { BusinessError } 12800010 - not the preconfigured default input method.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 11\n         */\n        exitCurrentInputType(): Promise<void>;\n    }\n    /**\n     * @interface InputMethodEngine\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    interface InputMethodEngine {\n        /**\n         * Subscribe 'inputStart'\n         *\n         * @param { 'inputStart' } type - indicates the type of subscribe event.\n         * @param { function } callback - indicates the callback of on('inputStart').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        on(type: 'inputStart', callback: (kbController: KeyboardController, textInputClient: TextInputClient) => void): void;\n        /**\n         * Unsubscribe 'inputStart'\n         *\n         * @param { 'inputStart' } type - indicates the type of subscribe event.\n         * @param { function } callback - optional, indicates the callback of off('inputStart').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        off(type: 'inputStart', callback?: (kbController: KeyboardController, textInputClient: TextInputClient) => void): void;\n        /**\n         * Subscribe 'keyboardShow'|'keyboardHide'\n         *\n         * @param { 'keyboardShow' | 'keyboardHide' } type - indicates the type of subscribe event.\n         * @param { function } callback - indicates the callback of on('keyboardShow'|'keyboardHide').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        on(type: 'keyboardShow' | 'keyboardHide', callback: () => void): void;\n        /**\n         * Unsubscribe 'keyboardShow'|'keyboardHide'\n         *\n         * @param { 'keyboardShow' | 'keyboardHide' } type - indicates the type of subscribe event.\n         * @param { function } [callback] - optional, indicates the callback of off('keyboardShow'|'keyboardHide').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        off(type: 'keyboardShow' | 'keyboardHide', callback?: () => void): void;\n    }\n    /**\n     * <p>Control events about IME.</p>\n     * <p>Events provided for IME to subscribe with callback function. When those events occur, the corresponding callback\n     * will be invoked.</p>\n     *\n     * @interface InputMethodAbility\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 9\n     */\n    interface InputMethodAbility {\n        /**\n         * Subscribe 'inputStart' event.\n         *\n         * @param { 'inputStart' } type - the type of subscribe event.\n         * @param { function } callback - the callback of on('inputStart').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        on(type: 'inputStart', callback: (kbController: KeyboardController, inputClient: InputClient) => void): void;\n        /**\n         * Unsubscribe 'inputStart' event.\n         *\n         * @param { 'inputStart' } type - the type of unsubscribe event.\n         * @param { function } [callback] - optional, the callback of off('inputStart').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        off(type: 'inputStart', callback?: (kbController: KeyboardController, inputClient: InputClient) => void): void;\n        /**\n         * Subscribe 'inputStop'.\n         *\n         * @param { 'inputStop' } type - the type of subscribe event.\n         * @param { function } callback - the callback of on('inputStop').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        on(type: 'inputStop', callback: () => void): void;\n        /**\n         * Unsubscribe 'inputStop'.\n         *\n         * @param { 'inputStop' } type - the type of unsubscribe event.\n         * @param { function } callback - the callback of off('inputStop').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        off(type: 'inputStop', callback: () => void): void;\n        /**\n         * Subscribe 'setCallingWindow'.\n         *\n         * @param { 'setCallingWindow' } type - the type of subscribe event.\n         * @param { function } callback - the callback of on('setCallingWindow').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        on(type: 'setCallingWindow', callback: (wid: number) => void): void;\n        /**\n         * Unsubscribe 'setCallingWindow'.\n         *\n         * @param { 'setCallingWindow' } type - the type of unsubscribe event.\n         * @param { function } callback - the callback of off('setCallingWindow').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        off(type: 'setCallingWindow', callback: (wid: number) => void): void;\n        /**\n         * Subscribe 'keyboardShow'|'keyboardHide'.\n         *\n         * @param { 'keyboardShow' | 'keyboardHide' } type - the type of subscribe event.\n         * @param { function } callback - the callback of on('keyboardShow'|'keyboardHide').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        on(type: 'keyboardShow' | 'keyboardHide', callback: () => void): void;\n        /**\n         * Unsubscribe 'keyboardShow'|'keyboardHide'.\n         *\n         * @param { 'keyboardShow' | 'keyboardHide' } type - the type of unsubscribe event.\n         * @param { function } [callback] - the callback of off('keyboardShow'|'keyboardHide').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        off(type: 'keyboardShow' | 'keyboardHide', callback?: () => void): void;\n        /**\n         * Subscribe 'setSubtype'.\n         *\n         * @param { 'setSubtype' } type - the type of subscribe event.\n         * @param { function } callback - the callback of on('setSubtype').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        on(type: 'setSubtype', callback: (inputMethodSubtype: InputMethodSubtype) => void): void;\n        /**\n         * Unsubscribe 'setSubtype'.\n         *\n         * @param { 'setSubtype' } type - the type of subscribe event.\n         * @param { function } [callback] - the callback of off('setSubtype').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        off(type: 'setSubtype', callback?: (inputMethodSubtype: InputMethodSubtype) => void): void;\n        /**\n         * Subscribe 'securityModeChange' event.\n         *\n         * @param { 'securityModeChange' } type - the type of subscribe event.\n         * @param { Callback<SecurityMode> } callback - the callback of on('securityModeChange').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 11\n         */\n        on(type: 'securityModeChange', callback: Callback<SecurityMode>): void;\n        /**\n         * Unsubscribe 'securityModeChange' event.\n         *\n         * @param { 'securityModeChange' } type - the type of unsubscribe event.\n         * @param { Callback<SecurityMode> } [callback] - optional, the callback of off('securityModeChange').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 11\n         */\n        off(type: 'securityModeChange', callback?: Callback<SecurityMode>): void;\n        /**\n         * Subscribe 'privateCommand'.This function can only be called by default input method configured by system.\n         *\n         * @param { 'privateCommand' } type - indicates the type of subscribe event.\n         * @param { Callback<Record<string, CommandDataType>> } callback - indicates the callback of on('privateCommand').\n         * @throws { BusinessError } 12800010 - not the preconfigured default input method.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        on(type: 'privateCommand', callback: Callback<Record<string, CommandDataType>>): void;\n        /**\n         * Unsubscribe 'privateCommand'.This function can only be called by default input method configured by system.\n         *\n         * @param { 'privateCommand' } type - indicates the type of subscribe event.\n         * @param { Callback<Record<string, CommandDataType>> } [callback] - optional,\n         * indicates the callback of off('privateCommand').\n         * @throws { BusinessError } 12800010 - not the preconfigured default input method.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        off(type: 'privateCommand', callback?: Callback<Record<string, CommandDataType>>): void;\n        /**\n         * Subscribe 'callingDisplayDidChange' event.\n         *\n         * @param { 'callingDisplayDidChange' } type - indicates the type of subscribe event.\n         * @param { Callback<number> } callback - indicates the callback of on('callingDisplayDidChange').\n         * @throws { BusinessError } 801 - capability not supported.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 18\n         */\n        on(type: 'callingDisplayDidChange', callback: Callback<number>): void;\n        /**\n         * Unsubscribe 'callingDisplayDidChange' event.\n         *\n         * @param { 'callingDisplayDidChange' } type - indicates the type of subscribe event.\n         * @param { Callback<number> } [callback] - optional, indicates the callback of off('callingDisplayDidChange').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 18\n         */\n        off(type: 'callingDisplayDidChange', callback?: Callback<number>): void;\n        /**\n         * Subscribe 'discardTypingText'.\n         *\n         * @param { 'discardTypingText' } type - the type of subscribe event.\n         * @param { Callback<void> } callback - the callback of on('discardTypingText').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        on(type: 'discardTypingText', callback: Callback<void>): void;\n        /**\n         * Unsubscribe 'discardTypingText'.\n         *\n         * @param { 'discardTypingText' } type - the type of unsubscribe event.\n         * @param { Callback<void> } callback - the callback of off('discardTypingText').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        off(type: 'discardTypingText', callback?: Callback<void>): void;\n        /**\n         * Get input method's security mode.\n         *\n         * @returns { SecurityMode } return security mode.\n         * @throws { BusinessError } 12800004 - not an input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 11\n         */\n        getSecurityMode(): SecurityMode;\n        /**\n         * Creates a panel.\n         * <p>The system only allows one soft keyboard and one status bar to be created.</p>\n         *\n         * @param { BaseContext } ctx - indicates the context on which the window depends.\n         * @param { PanelInfo } info - the info of panel to be created.\n         * @param { AsyncCallback<Panel> } callback - the callback of createPanel.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;\n         * @throws { BusinessError } 12800004 - not an input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        createPanel(ctx: BaseContext, info: PanelInfo, callback: AsyncCallback<Panel>): void;\n        /**\n         * Creates a panel.\n         * <p>The system only allows one soft keyboard and one status bar to be created.</p>\n         *\n         * @param { BaseContext } ctx - indicates the context on which the window depends.\n         * @param { PanelInfo } info - the info of panel to be created.\n         * @returns { Promise<Panel> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types;\n         * @throws { BusinessError } 12800004 - not an input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        createPanel(ctx: BaseContext, info: PanelInfo): Promise<Panel>;\n        /**\n         * Destroys a panel.\n         *\n         * @param { Panel } panel - to be destroyed.\n         * @param { AsyncCallback<void> } callback - the callback of destroyPanel.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        destroyPanel(panel: Panel, callback: AsyncCallback<void>): void;\n        /**\n         * Destroys a panel.\n         *\n         * @param { Panel } panel - to be destroyed.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        destroyPanel(panel: Panel): Promise<void>;\n    }\n    /**\n     * @interface TextInputClient\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     * @deprecated since 9\n     * @useinstead inputMethodEngine#InputClient\n     */\n    interface TextInputClient {\n        /**\n         * @param { number } action - action indicates the function of \"enter\" key.\n         * @param { AsyncCallback<boolean> } callback - the callback of sendKeyFunction.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.InputClient#sendKeyFunction\n         */\n        sendKeyFunction(action: number, callback: AsyncCallback<boolean>): void;\n        /**\n         * @param { number } action - action indicates the function of \"enter\" key.\n         * @returns { Promise<boolean> } the promise returned by the function.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.InputClient#sendKeyFunction\n         */\n        sendKeyFunction(action: number): Promise<boolean>;\n        /**\n         * @param { number } length - length of text which will be deleted forward.\n         * @param { AsyncCallback<boolean> } callback - the callback of deleteForward.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.InputClient#deleteForward\n         */\n        deleteForward(length: number, callback: AsyncCallback<boolean>): void;\n        /**\n         * @param { number } length - length of text which will be deleted forward.\n         * @returns { Promise<boolean> } the promise returned by the function.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.InputClient#deleteForward\n         */\n        deleteForward(length: number): Promise<boolean>;\n        /**\n         * @param { number } length - length of text which will be deleted backward.\n         * @param { AsyncCallback<boolean> } callback - the callback of deleteBackward.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.InputClient#deleteBackward\n         */\n        deleteBackward(length: number, callback: AsyncCallback<boolean>): void;\n        /**\n         * @param { number } length - length of text which will be deleted backward.\n         * @returns { Promise<boolean> } the promise returned by the function.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.InputClient#deleteBackward\n         */\n        deleteBackward(length: number): Promise<boolean>;\n        /**\n         * @param { string } text - text which will be inserted.\n         * @param { AsyncCallback<boolean> } callback - the callback of insertText.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.InputClient#insertText\n         */\n        insertText(text: string, callback: AsyncCallback<boolean>): void;\n        /**\n         * @param { string } text - text which will be inserted.\n         * @returns { Promise<boolean> } the promise returned by the function\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.InputClient#insertText\n         */\n        insertText(text: string): Promise<boolean>;\n        /**\n         * @param { number } length - the length of text which will be got.\n         * @param { AsyncCallback<string> } callback - the callback of getForward.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.InputClient#getForward\n         */\n        getForward(length: number, callback: AsyncCallback<string>): void;\n        /**\n         * @param { number } length - the length of text which will be got.\n         * @returns { Promise<string> } the promise returned by the function\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.InputClient#getForward\n         */\n        getForward(length: number): Promise<string>;\n        /**\n         * @param { number } length - the length of text which will be got.\n         * @param { AsyncCallback<string> } callback - the callback of getBackward.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.InputClient#getBackward\n         */\n        getBackward(length: number, callback: AsyncCallback<string>): void;\n        /**\n         * @param { number } length - the length of text which will be got.\n         * @returns { Promise<string> } the promise returned by the function.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.InputClient#getBackward\n         */\n        getBackward(length: number): Promise<string>;\n        /**\n         * @param { AsyncCallback<EditorAttribute> } callback - the callback of getEditorAttribute.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.InputClient#getEditorAttribute\n         */\n        getEditorAttribute(callback: AsyncCallback<EditorAttribute>): void;\n        /**\n         * @returns { Promise<EditorAttribute> } the promise returned by the function.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         * @deprecated since 9\n         * @useinstead inputMethodEngine.InputClient#getEditorAttribute\n         */\n        getEditorAttribute(): Promise<EditorAttribute>;\n    }\n    /**\n     * Control events about Editor.\n     *\n     * @interface InputClient\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 9\n     */\n    interface InputClient {\n        /**\n         * Send the function of the key.\n         *\n         * @param { number } action - action indicates the function of \"enter\" key.\n         * @param { AsyncCallback<boolean> } callback - the callback of sendKeyFunction.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        sendKeyFunction(action: number, callback: AsyncCallback<boolean>): void;\n        /**\n         * Send the function of the key.\n         *\n         * @param { number } action - action indicates the function of \"enter\" key.\n         * @returns { Promise<boolean> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        sendKeyFunction(action: number): Promise<boolean>;\n        /**\n         * Delete text forward.\n         *\n         * @param { number } length - length of text which will be deleted forward. It can't be less than 0.\n         * @param { AsyncCallback<boolean> } callback - the callback of deleteForward.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @throws { BusinessError } 12800002 - input method engine error. Possible causes:\n         *     1.input method panel not created. 2.the input method application does not subscribe to related events.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        deleteForward(length: number, callback: AsyncCallback<boolean>): void;\n        /**\n         * Delete text forward.\n         *\n         * @param { number } length - length of text which will be deleted forward. It can't be less than 0.\n         * @returns { Promise<boolean> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @throws { BusinessError } 12800002 - input method engine error. Possible causes:\n         *     1.input method panel not created. 2.the input method application does not subscribe to related events.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        deleteForward(length: number): Promise<boolean>;\n        /**\n         * Delete text forward.\n         *\n         * @param { number } length - length of text which will be deleted forward. It can't be less than 0.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800002 - input method engine error. Possible causes:\n         *     1.input method panel not created. 2.the input method application does not subscribe to related events.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        deleteForwardSync(length: number): void;\n        /**\n         * Delete text backward.\n         *\n         * @param { number } length - length of text which will be deleted backward. It can't be less than 0.\n         * @param { AsyncCallback<boolean> } callback - the callback of deleteBackward.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @throws { BusinessError } 12800002 - input method engine error. Possible causes:\n         *     1.input method panel not created. 2.the input method application does not subscribe to related events.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        deleteBackward(length: number, callback: AsyncCallback<boolean>): void;\n        /**\n         * Delete text backward.\n         *\n         * @param { number } length - length of text which will be deleted backward. It can't be less than 0.\n         * @returns { Promise<boolean> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @throws { BusinessError } 12800002 - input method engine error. Possible causes:\n         *     1.input method panel not created. 2.the input method application does not subscribe to related events.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        deleteBackward(length: number): Promise<boolean>;\n        /**\n         * Delete text backward.\n         *\n         * @param { number } length - length of text which will be deleted backward. It can't be less than 0.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800002 - input method engine error. Possible causes:\n         *     1.input method panel not created. 2.the input method application does not subscribe to related events.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        deleteBackwardSync(length: number): void;\n        /**\n         * Insert text into Editor.\n         *\n         * @param { string } text - text which will be inserted.\n         * @param { AsyncCallback<boolean> } callback - the callback of insertText.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @throws { BusinessError } 12800002 - input method engine error. Possible causes:\n         *     1.input method panel not created. 2.the input method application does not subscribe to related events.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        insertText(text: string, callback: AsyncCallback<boolean>): void;\n        /**\n         * Insert text into Editor.\n         *\n         * @param { string } text - text which will be inserted.\n         * @returns { Promise<boolean> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @throws { BusinessError } 12800002 - input method engine error. Possible causes:\n         *     1.input method panel not created. 2.the input method application does not subscribe to related events.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        insertText(text: string): Promise<boolean>;\n        /**\n         * Insert text into Editor.\n         *\n         * @param { string } text - text which will be inserted.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @throws { BusinessError } 12800002 - input method engine error. Possible causes:\n         *     1.input method panel not created. 2.the input method application does not subscribe to related events.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        insertTextSync(text: string): void;\n        /**\n         * Get the text before cursor.\n         *\n         * @param { number } length - the length of text which will be got. It can't be less than 0.\n         * @param { AsyncCallback<string> } callback - the callback of getForward.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800006 - input method controller error. Possible cause:\n         *     create InputmethodController object failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        getForward(length: number, callback: AsyncCallback<string>): void;\n        /**\n         * Get the text before cursor.\n         *\n         * @param { number } length - the length of text which will be got. It can't be less than 0.\n         * @returns { Promise<string> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800006 - input method controller error. Possible cause:\n         *     create InputmethodController object failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        getForward(length: number): Promise<string>;\n        /**\n         * Get the text before cursor.\n         *\n         * @param { number } length - the length of text which will be got. It can't be less than 0.\n         * @returns { string } the text string before cursor.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800006 - input method controller error. Possible cause:\n         *     create InputmethodController object failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        getForwardSync(length: number): string;\n        /**\n         * Get the text after cursor.\n         *\n         * @param { number } length - the length of text which will be got.It can't be less than 0.\n         * @param { AsyncCallback<string> } callback - the callback of getBackward.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800006 - input method controller error. Possible cause:\n         *     create InputmethodController object failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        getBackward(length: number, callback: AsyncCallback<string>): void;\n        /**\n         * Get the text after cursor.\n         *\n         * @param { number } length - the length of text which will be got.It can't be less than 0.\n         * @returns { Promise<string> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800006 - input method controller error. Possible cause:\n         *     create InputmethodController object failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        getBackward(length: number): Promise<string>;\n        /**\n         * Get the text after cursor.\n         *\n         * @param { number } length - the length of text which will be got. It can't be less than 0.\n         * @returns { string } the text string after cursor.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800006 - input method controller error. Possible cause:\n         *     create InputmethodController object failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        getBackwardSync(length: number): string;\n        /**\n         * Get attribute about editor.\n         *\n         * @param { AsyncCallback<EditorAttribute> } callback - the callback of getEditorAttribute.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        getEditorAttribute(callback: AsyncCallback<EditorAttribute>): void;\n        /**\n         * Get attribute about editor.\n         *\n         * @returns { Promise<EditorAttribute> } the promise returned by the function.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        getEditorAttribute(): Promise<EditorAttribute>;\n        /**\n         * Get attribute about editor.\n         *\n         * @returns { EditorAttribute } the attribute of editor.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        getEditorAttributeSync(): EditorAttribute;\n        /**\n         * Move cursor from input method.\n         *\n         * @param { number } direction - Indicates the distance of cursor to be moved. It can't be less than 0.\n         * @param { AsyncCallback<void> } callback - the callback of moveCursor.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        moveCursor(direction: number, callback: AsyncCallback<void>): void;\n        /**\n         * Move cursor from input method.\n         *\n         * @param { number } direction - Indicates the distance of cursor to be moved. It can't be less than 0.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 9\n         */\n        moveCursor(direction: number): Promise<void>;\n        /**\n         * Move cursor from input method.\n         *\n         * @param { number } direction - Indicates the distance of cursor to be moved. It can't be less than 0.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *    1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        moveCursorSync(direction: number): void;\n        /**\n         * Select text in editor by range.\n         *\n         * @param { Range } range - indicates the range of selected text in editor.\n         * @param { AsyncCallback<void> } callback - the callback of selectByRange.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        selectByRange(range: Range, callback: AsyncCallback<void>): void;\n        /**\n         * Select text in editor by range.\n         *\n         * @param { Range } range - indicates the range of selected text in editor.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *    1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        selectByRange(range: Range): Promise<void>;\n        /**\n         * Select text in editor by range.\n         *\n         * @param { Range } range - indicates the range of selected text in editor.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        selectByRangeSync(range: Range): void;\n        /**\n         * Select text in editor by cursor movement.\n         *\n         * @param { Movement } movement - indicates the movement of cursor when selecting.\n         * @param { AsyncCallback<void> } callback - the callback of selectByMovement.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        selectByMovement(movement: Movement, callback: AsyncCallback<void>): void;\n        /**\n         * Select text in editor by cursor movement.\n         *\n         * @param { Movement } movement - indicates the movement of cursor when selecting.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        selectByMovement(movement: Movement): Promise<void>;\n        /**\n         * Select text in editor by cursor movement.\n         *\n         * @param { Movement } movement - indicates the movement of cursor when selecting.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        selectByMovementSync(movement: Movement): void;\n        /**\n         * Get the index number of text at cursor.\n         *\n         * @param { AsyncCallback<number> } callback - the callback of getTextIndexAtCursor, number represents the index\n         *        number of text at cursor.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800006 - input method controller error. Possible cause:\n         *     create InputmethodController object failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        getTextIndexAtCursor(callback: AsyncCallback<number>): void;\n        /**\n         * Get the index number of text at cursor.\n         *\n         * @returns { Promise<number> } the promise returned by the function, number represents the index number of text\n         *          at cursor.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800006 - input method controller error. Possible cause:\n         *     create InputmethodController object failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        getTextIndexAtCursor(): Promise<number>;\n        /**\n         * Get the index number of text at cursor.\n         *\n         * @returns { number } the index number of text at cursor.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800006 - input method controller error. Possible cause:\n         *     create InputmethodController object failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        getTextIndexAtCursorSync(): number;\n        /**\n         * Send extend action code.\n         *\n         * @param { ExtendAction } action - action code which will be send.\n         * @param { AsyncCallback<void> } callback - the callback of sendExtendAction.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800006 - input method controller error. Possible cause:\n         *     create InputmethodController object failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        sendExtendAction(action: ExtendAction, callback: AsyncCallback<void>): void;\n        /**\n         * Send extend action code.\n         *\n         * @param { ExtendAction } action - action code which will be send.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800006 - input method controller error. Possible cause:\n         *     create InputmethodController object failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        sendExtendAction(action: ExtendAction): Promise<void>;\n        /**\n         * Send private command.This function can only be called by default input method configured by system.\n         *\n         * @param { Record<string, CommandDataType> } commandData - command data which will be send.Max size 32KB.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800010 - not the preconfigured default input method.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        sendPrivateCommand(commandData: Record<string, CommandDataType>): Promise<void>;\n        /**\n         * Get info of the calling window.\n         *\n         * @returns { Promise<WindowInfo> } the promise returned by the function.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800012 - the input method panel does not exist.\n         * @throws { BusinessError } 12800013 - window manager service error.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        getCallingWindowInfo(): Promise<WindowInfo>;\n        /**\n         * Insert the provided text as preview text.\n         *\n         * @param { string } text - the text to be previewed.\n         * @param { Range } range - the range of the text to be replaced by the preview text.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *    1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800011 - text preview not supported.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        setPreviewText(text: string, range: Range): Promise<void>;\n        /**\n         * Insert the provided text as preview text.\n         *\n         * @param { string } text - the text to be previewed.\n         * @param { Range } range - the range of the text to be replaced by the preview text.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800011 - text preview not supported.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        setPreviewTextSync(text: string, range: Range): void;\n        /**\n         * Finish the text preview.\n         *\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800011 - text preview not supported.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        finishTextPreview(): Promise<void>;\n        /**\n         * Finish the text preview.\n         *\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800011 - text preview not supported.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        finishTextPreviewSync(): void;\n        /**\n         * Send message to edit box.\n         *\n         * @param { string } msgId - the identifier of the message. Max size is 256B.\n         * @param { ?ArrayBuffer } [msgParam] - the param of the custom message. Max size is 128KB.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1. Incorrect parameter types. 2. Incorrect parameter length.\n         * @throws { BusinessError } 12800003 - input method client error. Possible causes:\n         *     1.the edit box is not focused. 2.no edit box is bound to current input method application.\n         * @throws { BusinessError } 12800009 - input method client detached.\n         * @throws { BusinessError } 12800014 - the input method is in basic mode.\n         * @throws { BusinessError } 12800015 - the other side does not accept the request.\n         * @throws { BusinessError } 12800016 - input method client is not editable.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        sendMessage(msgId: string, msgParam?: ArrayBuffer): Promise<void>;\n        /**\n         * Start receiving message from edit box.\n         *\n         * @param { ?MessageHandler } [msgHandler] - optional, the handler of the custom message.\n         * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Incorrect parameter types.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        recvMessage(msgHandler?: MessageHandler): void;\n        /**\n         * Get input attachOptions.\n         *\n         * @returns { AttachOptions } return attach options.\n         * @throws { BusinessError } 801 - Capability not supported.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 19\n         */\n        getAttachOptions(): AttachOptions;\n        /**\n         * Subscribe 'attachOptionsDidChange' event.\n         *\n         * @param { 'attachOptionsDidChange' } type - the type of subscribe event.\n         * @param { Callback<AttachOptions> } callback - the callback of on('attachOptionsDidChange').\n         * @throws { BusinessError } 801 - Capability not supported.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 19\n         */\n        on(type: 'attachOptionsDidChange', callback: Callback<AttachOptions>): void;\n        /**\n         * Unsubscribe 'attachOptionsDidChange' event.\n         *\n         * @param { 'attachOptionsDidChange' } type - the type of unsubscribe event.\n         * @param { Callback<AttachOptions> } [callback] - optional, the callback of off('attachOptionsDidChange').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 19\n         */\n        off(type: 'attachOptionsDidChange', callback?: Callback<AttachOptions>): void;\n    }\n    /**\n     * @interface KeyboardDelegate\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    interface KeyboardDelegate {\n        /**\n         * Subscribe key up or down event\n         *\n         * @param { 'keyDown' | 'keyUp' } type - indicates the type of subscribe event.\n         * @param { function } callback - indicates the callback function of on('keyDown'|'keyUp').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        on(type: 'keyDown' | 'keyUp', callback: (event: KeyEvent) => boolean): void;\n        /**\n         * Unsubscribe key up or down event\n         *\n         * @param { 'keyDown' | 'keyUp' } type - indicates the type of unsubscribe event.\n         * @param { function } [callback] - optional, indicates the callback function of off('keyDown'|'keyUp').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        off(type: 'keyDown' | 'keyUp', callback?: (event: KeyEvent) => boolean): void;\n        /**\n         * Subscribe key event.\n         *\n         * @param { 'keyEvent' } type - indicates the type of subscribe event.\n         * @param { function } callback - indicates the callback function of on('keyEvent').\n         *     If the key is processed by event subscriber, callback should be return true, else return false.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        on(type: 'keyEvent', callback: (event: InputKeyEvent) => boolean): void;\n        /**\n         * Unsubscribe key event.\n         *\n         * @param { 'keyEvent' } type - indicates the type of unsubscribe event.\n         * @param { function } [callback] - optional, indicates the callback function of off('keyEvent').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        off(type: 'keyEvent', callback?: (event: InputKeyEvent) => boolean): void;\n        /**\n         * Subscribe cursor context change\n         *\n         * @param { 'cursorContextChange' } type - indicates the type of subscribe event.\n         * @param { function } callback - indicates the callback function of on('cursorContextChange').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        on(type: 'cursorContextChange', callback: (x: number, y: number, height: number) => void): void;\n        /**\n         * Unsubscribe cursor context change\n         *\n         * @param { 'cursorContextChange' } type - indicates the type of unsubscribe event.\n         * @param { function } [callback] - optional, indicates the callback function of off('cursorContextChange').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        off(type: 'cursorContextChange', callback?: (x: number, y: number, height: number) => void): void;\n        /**\n         * Subscribe selection change\n         *\n         * @param { 'selectionChange' } type - indicates the type of subscribe event.\n         * @param { function } callback - indicates the callback function\n         * of on('selectionChange').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        on(type: 'selectionChange', callback: (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void): void;\n        /**\n         * Unsubscribe selection change\n         *\n         * @param { 'selectionChange' } type - indicates the type of unsubscribe event.\n         * @param { function } [callback] - optional,\n         * indicates the callback function of off('selectionChange').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        off(type: 'selectionChange', callback?: (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void): void;\n        /**\n         * Subscribe text change\n         *\n         * @param { 'textChange' } type - indicates the type of subscribe event.\n         * @param { function } callback - indicates the callback function of on('textChange').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        on(type: 'textChange', callback: (text: string) => void): void;\n        /**\n         * Unsubscribe text change\n         *\n         * @param { 'textChange' } type - indicates the type of unsubscribe event.\n         * @param { function } [callback] - optional, indicates the callback function of off('textChange').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        off(type: 'textChange', callback?: (text: string) => void): void;\n        /**\n         * Subscribe input text attribute change\n         *\n         * @param { 'editorAttributeChanged' } type - indicates the type of subscribe event.\n         * @param { function } callback - indicates the callback function of on('editorAttributeChanged').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        on(type: 'editorAttributeChanged', callback: (attr: EditorAttribute) => void): void;\n        /**\n         * Unsubscribe input text attribute change\n         *\n         * @param { 'editorAttributeChanged' } type - indicates the type of subscribe event.\n         * @param { function } [callback] - indicates the callback function of off('editorAttributeChanged').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        off(type: 'editorAttributeChanged', callback?: (attr: EditorAttribute) => void): void;\n    }\n    /**\n     * Defines the immersive mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 15\n     */\n    export enum ImmersiveMode {\n        /**\n         * Default immersive mode, the panel is not in immersive mode.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        NONE_IMMERSIVE = 0,\n        /**\n         * Immersive mode.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        IMMERSIVE,\n        /**\n         * Light immersive mode.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        LIGHT_IMMERSIVE,\n        /**\n         * Dark immersive mode.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        DARK_IMMERSIVE\n    }\n    /**\n     *  Gradient mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 20\n     */\n    export enum GradientMode {\n        /**\n         * Disable gradient mode.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        NONE = 0,\n        /**\n         * Linear gradient mode.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        LINEAR_GRADIENT = 1\n    }\n    /**\n     * Defines the immersive effect.\n     *\n     * @interface ImmersiveEffect\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 20\n     */\n    interface ImmersiveEffect {\n        /**\n         * The height of the gradient effect.\n         *\n         * @type { number }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        gradientHeight: number;\n        /**\n         * Gradient mode.\n         *\n         * @type { GradientMode }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        gradientMode: GradientMode;\n    }\n    /**\n     *  RequestKeyboardReason of input click.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 19\n     */\n    export enum RequestKeyboardReason {\n        /**\n          * The request keyboard reason is NONE.\n          * @syscap SystemCapability.MiscServices.InputMethodFramework\n          * @since 19\n          */\n        NONE = 0,\n        /**\n         * The request keyboard reason is MOUSE.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 19\n         */\n        MOUSE = 1,\n        /**\n         * The request keyboard reason is TOUCH.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 19\n         */\n        TOUCH = 2,\n        /**\n         * The request keyboard reason is OTHER.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 19\n         */\n        OTHER = 20\n    }\n    /**\n     * A panel is a container used to hold soft keyboard, candidate list, or status bar.\n     *\n     * @interface Panel\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 10\n     */\n    interface Panel {\n        /**\n         * Sets ui content.\n         * <p>When this method is executed successfully, the content of panel will be replaced.</p>\n         *\n         * @param { string } path - the path of ui content.\n         * @param { AsyncCallback<void> } callback - the callback of setUiContent.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        setUiContent(path: string, callback: AsyncCallback<void>): void;\n        /**\n         * Sets ui content.\n         * <p>When this method is executed successfully, the content of panel will be replaced.</p>\n         *\n         * @param { string } path - the path of ui content.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        setUiContent(path: string): Promise<void>;\n        /**\n         * Sets ui content.\n         * <p>When this method is executed successfully, the content of panel will be replaced.</p>\n         *\n         * @param { string } path - the path of ui content.\n         * @param { LocalStorage } storage - the data object shared within the content instance loaded by the panel.\n         * @param { AsyncCallback<void> } callback - the callback of setUiContent.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        setUiContent(path: string, storage: LocalStorage, callback: AsyncCallback<void>): void;\n        /**\n         * Sets ui content.\n         * <p>When this method is executed successfully, the content of panel will be replaced.</p>\n         *\n         * @param { string } path - the path of ui content.\n         * @param { LocalStorage } storage - the data object shared within the content instance loaded by the panel.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        setUiContent(path: string, storage: LocalStorage): Promise<void>;\n        /**\n         * Resizes a panel.\n         *\n         * @param { number } width - the new width of the panel.\n         * @param { number } height - the new height of the panel.\n         * @param { AsyncCallback<void> } callback - the callback of resize.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        resize(width: number, height: number, callback: AsyncCallback<void>): void;\n        /**\n         * Resizes a panel.\n         *\n         * @param { number } width - the new width of the panel.\n         * @param { number } height - the new height of the panel.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        resize(width: number, height: number): Promise<void>;\n        /**\n         * Moves a panel.\n         * <p>It's unusable for SOFT_KEYBOARD panel with FLG_FIXED.</p>\n         *\n         * @param { number } x - the x-coordinate of the new position.\n         * @param { number } y - the y-coordinate of the new position.\n         * @param { AsyncCallback<void> } callback - the callback of moveTo.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        moveTo(x: number, y: number, callback: AsyncCallback<void>): void;\n        /**\n         * Moves a panel.\n         * <p>It's unusable for SOFT_KEYBOARD panel with FLG_FIXED.</p>\n         *\n         * @param { number } x - the x-coordinate of the new position.\n         * @param { number } y - the y-coordinate of the new position.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        moveTo(x: number, y: number): Promise<void>;\n        /**\n         * Starts moving a panel. The panel starts moving when pressed with finger or mouse and stops moving when released.\n         * <p>It's Only used for STATUS_BAR panel.</p>\n         *\n         * @throws { BusinessError } 12800002 - input method engine error. Possible causes:\n         *     1.input method panel not created. 2.the input method application does not subscribe to related events.\n         * @throws { BusinessError } 12800013 - window manager service error.\n         * @throws { BusinessError } 12800017 - invalid panel type or panel flag.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        /**\n         * Starts moving a panel. The panel starts moving when pressed with finger or mouse and stops moving when released.\n         * <p>It's Only used for STATUS_BAR panel.</p>\n         *\n         * @throws { BusinessError } 801 - capability not supported.\n         * @throws { BusinessError } 12800002 - input method engine error. Possible causes:\n         *     1.input method panel not created. 2.the input method application does not subscribe to related events.\n         * @throws { BusinessError } 12800013 - window manager service error.\n         * @throws { BusinessError } 12800017 - invalid panel type or panel flag.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 18\n         */\n        /**\n         * Starts moving a panel. The panel starts moving when pressed with finger or mouse and stops moving when released.\n         * <p>It's only used for STATUS_BAR panel or SOFT_KEYBOARD panel with FLG_FLOATING or FLAG_CANDIDATE.</p>\n         *\n         * @throws { BusinessError } 801 - capability not supported.\n         * @throws { BusinessError } 12800002 - input method engine error.\n         * @throws { BusinessError } 12800013 - window manager service error.\n         * @throws { BusinessError } 12800017 - invalid panel type or panel flag.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        startMoving(): void;\n        /**\n         * Get the ID of the display where the input method panel is located.\n         *\n         * @returns { Promise<number> } the promise returned by the function.\n         * @throws { BusinessError } 12800002 - input method engine error. Possible causes:\n         *     1.input method panel not created. 2.the input method application does not subscribe to related events.\n         * @throws { BusinessError } 12800013 - window manager service error.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        getDisplayId(): Promise<number>;\n        /**\n         * Shows panel.\n         *\n         * @param { AsyncCallback<void> } callback - the callback of show.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        show(callback: AsyncCallback<void>): void;\n        /**\n         * Shows panel.\n         *\n         * @returns { Promise<void> } the promise returned by the function.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        show(): Promise<void>;\n        /**\n         * Hides panel.\n         *\n         * @param { AsyncCallback<void> } callback - the callback of hide.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        hide(callback: AsyncCallback<void>): void;\n        /**\n         * Hides panel.\n         *\n         * @returns { Promise<void> } the promise returned by the function.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        hide(): Promise<void>;\n        /**\n         * Registers panel show event.\n         * <p>The \"show\" events are triggered when the panel is shown.</p>\n         *\n         * @param { 'show' } type - events type.\n         * @param { function } callback - the callback will be called when events are triggered.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        on(type: 'show', callback: () => void): void;\n        /**\n         * Unregisters panel show event.\n         *\n         * @param { 'show' } type - events type.\n         * @param { function } [callback] - the callback to Unregister.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        off(type: 'show', callback?: () => void): void;\n        /**\n         * Registers panel hide event.\n         * <p>The \"hide\" events are triggered when the panel is hidden.</p>\n         *\n         * @param { 'hide' } type - events type.\n         * @param { function } callback - the callback will be called when events are triggered.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        on(type: 'hide', callback: () => void): void;\n        /**\n         * Unregisters panel hide event.\n         *\n         * @param { 'hide' } type - events type.\n         * @param { function } [callback] - the callback to Unregister.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        off(type: 'hide', callback?: () => void): void;\n        /**\n         * Changes panel flag.\n         * <p>Before flag is changed, Developers should hide the panel.After that, developers can change the content, size, point of the panel\n         *    and show it again at appropriate opportunity.</p>\n         *\n         * @param { PanelFlag } flag - the callback of changeFlag.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        changeFlag(flag: PanelFlag): void;\n        /**\n         * Sets ime panel private mode or not.\n         *\n         * @permission ohos.permission.PRIVACY_WINDOW\n         * @param { boolean } isPrivacyMode - if the value is true, the privacy mode will be set,\n         * otherwise the non-privacy mode will be set.\n         * @throws { BusinessError } 201 - permissions check fails.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 11\n         */\n        setPrivacyMode(isPrivacyMode: boolean): void;\n        /**\n         * Adjust the rect of soft keyboard panel for landscape and portrait orientations.\n         * <p>It's only used for SOFT_KEYBOARD panel with FLG_FIXED and FLG_FLOATING.</p>\n         *\n         * @param { PanelFlag } flag - panel flag.\n         * @param { PanelRect } rect - panel rect.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800013 - window manager service error.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        adjustPanelRect(flag: PanelFlag, rect: PanelRect): void;\n        /**\n         * Adjust the rect of soft keyboard panel for landscape and portrait orientations.\n         * <p>It's only used for SOFT_KEYBOARD panel with fixed or floating flag.</p>\n         *\n         * @param { PanelFlag } flag - panel flag.\n         * @param { EnhancedPanelRect } rect - panel rect.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800013 - window manager service error.\n         * @throws { BusinessError } 12800017 - invalid panel type or panel flag.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        adjustPanelRect(flag: PanelFlag, rect: EnhancedPanelRect): void;\n        /**\n         * <p>Update the region in the panel which accepts input events.</p>\n         * <p>It's only used for SOFT_KEYBOARD panel with fixed flag or floating flag.</p>\n         *\n         * @param { Array<window.Rect> } inputRegion - region in the panel which accepts input event. The size of the array must range from 1 to 4.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.\n         * @throws { BusinessError } 12800013 - window manager service error.\n         * @throws { BusinessError } 12800017 - invalid panel type or panel flag.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        updateRegion(inputRegion: Array<window.Rect>): void;\n        /**\n         * Subscribe 'sizeChange' event.\n         * <p>It's only used for SOFT_KEYBOARD panel with FLG_FIXED and FLG_FLOATING.</p>\n         *\n         * @param { 'sizeChange' } type - the type of subscribe event.\n         * @param { Callback<window.Size> } callback - the callback of on('sizeChange').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        /**\n         * Subscribe 'sizeChange' event.\n         * <p>It's only used for SOFT_KEYBOARD panel with FLG_FIXED and FLG_FLOATING.</p>\n         *\n         * @param { 'sizeChange' } type - the type of subscribe event.\n         * @param { SizeChangeCallback } callback - the callback of on('sizeChange').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        on(type: 'sizeChange', callback: SizeChangeCallback): void;\n        /**\n         * Unsubscribe 'sizeChange' event.\n         * <p>It's only used for SOFT_KEYBOARD panel with FLG_FIXED and FLG_FLOATING.</p>\n         *\n         * @param { 'sizeChange' } type - the type of unsubscribe event.\n         * @param { ?Callback<window.Size> } [callback] - optional, the callback of off('sizeChange').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        /**\n         * Unsubscribe 'sizeChange' event.\n         * <p>It's only used for SOFT_KEYBOARD panel with FLG_FIXED and FLG_FLOATING.</p>\n         *\n         * @param { 'sizeChange' } type - the type of unsubscribe event.\n         * @param { ?SizeChangeCallback } [callback] - optional, the callback of off('sizeChange').\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        off(type: 'sizeChange', callback?: SizeChangeCallback): void;\n        /**\n         * Set immersive mode.\n         *\n         * @param { ImmersiveMode } mode - Immersive mode.\n         * @throws { BusinessError } 401 - parameter error. Possible causes:\n         *     1.Incorrect parameter types; 2.Parameter verification failed.\n         * @throws { BusinessError } 12800002 - input method engine error. Possible causes:\n         *     1.input method panel not created. 2.the input method application does not subscribe to related events.\n         * @throws { BusinessError } 12800013 - window manager service error.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        setImmersiveMode(mode: ImmersiveMode): void;\n        /**\n         * Get immersive mode.\n         *\n         * @returns { ImmersiveMode } Immersive mode.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        getImmersiveMode(): ImmersiveMode;\n        /**\n         * Set immersive effect.\n         * If a normal application uses the fluidLightMode property and sets it to a value other than NONE,\n         * the interface will throw 202.\n         *\n         * @param { ImmersiveEffect } effect - immersive effect.\n         * @throws { BusinessError } 801 - capability not supported.\n         * @throws { BusinessError } 12800002 - input method engine error. Possible causes:\n         *     1. input method panel not created. 2. the input method application does not subscribe to related events.\n         * @throws { BusinessError } 12800013 - window manager service error.\n         * @throws { BusinessError } 12800020 - invalid immersive effect.\n         *    1. The gradient mode and the fluid light mode can only be used when the immersive mode is enabled.\n         *    2. The fluid light mode can only be used when the gradient mode is enabled.\n         *    3. When the gradient mode is not enabled, the gradient height can only be 0.\n         * @throws { BusinessError } 12800021 - this operation is allowed only after adjustPanelRect or resize is called.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        setImmersiveEffect(effect: ImmersiveEffect): void;\n    }\n    /**\n     * @interface EditorAttribute\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    interface EditorAttribute {\n        /**\n         * Editor's pattern\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        readonly inputPattern: number;\n        /**\n         * Editor's key type\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        readonly enterKeyType: number;\n        /**\n         * Indicates whether the editor supports the text preview.\n         *\n         * @type { boolean }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        isTextPreviewSupported: boolean;\n        /**\n         * Editor's bundle name.\n         *\n         * @type { ?string }\n         * @readonly\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 14\n         */\n        readonly bundleName?: string;\n        /**\n         * Immersive mode.\n         *\n         * @type { ?ImmersiveMode }\n         * @readonly\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        readonly immersiveMode?: ImmersiveMode;\n        /**\n         * Indicates the ID of the window where the edit box is located.\n         *\n         * @type { ?number }\n         * @readonly\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 18\n         */\n        readonly windowId?: number;\n        /**\n         * Indicates the ID of the display where the edit box is located.\n         *\n         * @type { ?number }\n         * @readonly\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 18\n         */\n        readonly displayId?: number;\n        /**\n         * Placeholder text in the edit box.\n         *\n         * @type { ?string }\n         * @readonly\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        readonly placeholder?: string;\n        /**\n         * The name of the ability where the edit box is located.\n         *\n         * @type { ?string }\n         * @readonly\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        readonly abilityName?: string;\n        /**\n         * Editor's capitalization mode.\n         *\n         * @type { ?CapitalizeMode }\n         * @readonly\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        readonly capitalizeMode?: CapitalizeMode;\n        /**\n         * Gradient mode.\n         *\n         * @type { ?GradientMode }\n         * @readonly\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        readonly gradientMode?: GradientMode;\n    }\n    /**\n     * @interface KeyEvent\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 8\n     */\n    interface KeyEvent {\n        /**\n         * Key code\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        readonly keyCode: number;\n        /**\n         * Key action\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 8\n         */\n        readonly keyAction: number;\n    }\n    /**\n     * Enumerates the flags of panel\n     *\n     * @enum { number }\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 10\n     */\n    export enum PanelFlag {\n        /**\n         * Fixed style.\n         * <p>It's provided for the panel with type of SOFT_KEYBOARD.\n         * When the flag is set, the soft keyboard is fixed at the bottom of the screen.</p>\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        FLG_FIXED = 0,\n        /**\n         * Floating style.\n         * <p>It's provided for the panel with type of SOFT_KEYBOARD.\n         * When the flag is set, the soft keyboard is floating.</p>\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        FLG_FLOATING,\n        /**\n         * Candidate style.\n         * <p>It's provided for the panel with type of SOFT_KEYBOARD.\n         * When the flag is set, the soft keyboard is a candidate window which will show the possible characters when user types a input code.\n         * Panel with candidate style will not be automatically shown or hidden by input method service.\n         * Input method application developers are supposed to control the panel status on their own.</p>\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        FLAG_CANDIDATE\n    }\n    /**\n     * <p>Panel types provided for input method applications.</p>\n     * <p>Input method application developers should select the appropriate panel type according to the user scenario.</p>\n     *\n     * @enum { number }\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 10\n     */\n    export enum PanelType {\n        /**\n         * Panel for displaying a virtual software keyboard.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        SOFT_KEYBOARD = 0,\n        /**\n         * Panel for displaying status bar.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        STATUS_BAR\n    }\n    /**\n     * Panel information.\n     *\n     * @typedef PanelInfo\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 10\n     */\n    export interface PanelInfo {\n        /**\n         * Panel type.\n         *\n         * @type { PanelType }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        type: PanelType;\n        /**\n         * <p>Flag of Panel.</p>\n         * <p>Currently only using for SOFT_KEYBOARD panel.</p>\n         *\n         * @type { ?PanelFlag }\n         * @default FLG_FIXED\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        flag?: PanelFlag;\n    }\n    /**\n     * Enumerates the moving direction of cursor\n     *\n     * @enum { number }\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 10\n     */\n    export enum Direction {\n        /**\n         * Cursor moves up\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        CURSOR_UP = 1,\n        /**\n         * Cursor moves down\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        CURSOR_DOWN,\n        /**\n         * Cursor moves left\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        CURSOR_LEFT,\n        /**\n         * Cursor moves right\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        CURSOR_RIGHT\n    }\n    /**\n     * Enumerates the security mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 11\n     */\n    export enum SecurityMode {\n        /**\n         * Basic security mode\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 11\n         */\n        BASIC = 0,\n        /**\n         * Full security mode\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 11\n         */\n        FULL\n    }\n    /**\n     * Range of selected text.\n     *\n     * @interface Range\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 10\n     */\n    export interface Range {\n        /**\n         * Indicates the index of the first character of the selected text.\n         *\n         * @type { number }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        start: number;\n        /**\n         * Indicates the index of the last character of the selected text.\n         *\n         * @type { number }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        end: number;\n    }\n    /**\n     * Movement of cursor.\n     *\n     * @interface Movement\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 10\n     */\n    export interface Movement {\n        /**\n         * Indicates the direction of cursor movement\n         *\n         * @type { Direction }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        direction: Direction;\n    }\n    /**\n     * Enumerates the extend action.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 10\n     */\n    export enum ExtendAction {\n        /**\n         * Select all text.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        SELECT_ALL = 0,\n        /**\n         * Cut selecting text.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        CUT = 3,\n        /**\n         * Copy selecting text.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        COPY = 4,\n        /**\n         * Paste from paste board.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 10\n         */\n        PASTE = 5\n    }\n    /**\n     * Window info.\n     *\n     * @interface WindowInfo\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 12\n     */\n    export interface WindowInfo {\n        /**\n         * Rectangle.\n         *\n         * @type { window.Rect }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        rect: window.Rect;\n        /**\n         * Window status.\n         *\n         * @type { window.WindowStatusType }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        status: window.WindowStatusType;\n    }\n    /**\n     * Panel Rect.\n     *\n     * @interface PanelRect\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 12\n     */\n    export interface PanelRect {\n        /**\n         * Panel rect in landscape orientation.\n         *\n         * @type { window.Rect }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        landscapeRect: window.Rect;\n        /**\n         * Panel rect in portrait orientation.\n         *\n         * @type { window.Rect }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 12\n         */\n        portraitRect: window.Rect;\n    }\n    /**\n     * <p>Custom message handler.</p>\n     * <p>Implement this interface to respond to custem messages.</p>\n     *\n     * @interface MessageHandler\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 15\n     */\n    interface MessageHandler {\n        /**\n         * This method is called when a custom message is received.\n         *\n         * @param { string } msgId - the identifier of the message.\n         * @param { ?ArrayBuffer } [msgParam] - the parameter of the custom message.\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        onMessage(msgId: string, msgParam?: ArrayBuffer): void;\n        /**\n         * This method is called when a new message handler is set.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        onTerminated(): void;\n    }\n    /**\n     * Enhanced panel rect information.\n     *\n     * @interface EnhancedPanelRect\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 15\n     */\n    export interface EnhancedPanelRect {\n        /**\n         * <p>Panel rect in landscape orientation.</p>\n         * <p>It must be filled when fullScreenMode is flase or not specified.</p>\n         *\n         * @type { ?window.Rect }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        landscapeRect?: window.Rect;\n        /**\n         * <p>Panel rect in portrait orientation.</P>\n         * <p>It must be filled when fullScreenMode is flase or not specified.</p>\n         *\n         * @type { ?window.Rect }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        portraitRect?: window.Rect;\n        /**\n         * The distance between the top of the panel and the top of the avoidance area in landscape orientation.\n         * <p>It's only used for SOFT_KEYBOARD panel with fixed flag or floating flag.</p>\n         *\n         * @type { ?number }\n         * @default 0\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        landscapeAvoidY?: number;\n        /**\n         * <p>Region in the panel that accepts input events in landsacpe mode.</p>\n         * <p>It's only used for SOFT_KEYBOARD panel with fixed flag or floating flag. Max array size is 4.</p>\n         * <p>Defaults to entire panel area if not specifed.</p>\n         *\n         * @type { ?Array<window.Rect> }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        landscapeInputRegion?: Array<window.Rect>;\n        /**\n         * The distance between the top of the panel and the top of the avoidance area in portrait orientation.\n         * <p>It's only used for SOFT_KEYBOARD panel with fixed flag or floating flag.</p>\n         *\n         * @type { ?number }\n         * @default 0\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        portraitAvoidY?: number;\n        /**\n         * <p>Region in the panel that accepts input events in portrait mode.</p>\n         * <p>It's only used for SOFT_KEYBOARD panel with fixed flag or floating flag. Max array size is 4.</p>\n         * <p>Defaults to entire panel area if not specifed.</p>\n         *\n         * @type { ?Array<window.Rect> }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        portraitInputRegion?: Array<window.Rect>;\n        /**\n         * <p>Enter the full screen mode.</p>\n         * <p>It's only used for SOFT_KEYBOARD panel with fixed flag or floating flag.</p>\n         *\n         * @type { ?boolean }\n         * @default false\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        fullScreenMode?: boolean;\n    }\n    /**\n     * Keyboard area.\n     *\n     * @interface KeyboardArea\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 15\n     */\n    export interface KeyboardArea {\n        /**\n         * Top of the keyboard area in the panel.\n         *\n         * @type { number }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        top: number;\n        /**\n         * Bottom of the keyboard area in the panel.\n         *\n         * @type { number }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        bottom: number;\n        /**\n         * Left of the keyboard area in the panel.\n         *\n         * @type { number }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        left: number;\n        /**\n         * Right of the keyboard area in the panel.\n         *\n         * @type { number }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 15\n         */\n        right: number;\n    }\n    /**\n     * Attach options.\n     *\n     * @interface AttachOptions\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 19\n     */\n    export interface AttachOptions {\n        /**\n         * The reason for request keyboard.\n         *\n         * @type { ?RequestKeyboardReason }\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 19\n         */\n        requestKeyboardReason?: RequestKeyboardReason;\n    }\n    /**\n     * Enumerates the capitalization mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.MiscServices.InputMethodFramework\n     * @since 20\n     */\n    export enum CapitalizeMode {\n        /**\n         * Capitalize nothing.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        NONE = 0,\n        /**\n         * Capitalize the first letter of each sentence.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        SENTENCES,\n        /**\n         * Capitalize the first letter of each word.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        WORDS,\n        /**\n         * Capitalize each letter.\n         *\n         * @syscap SystemCapability.MiscServices.InputMethodFramework\n         * @since 20\n         */\n        CHARACTERS\n    }\n}\nexport default inputMethodEngine;\n",
}
export default FILE;